//Node每一个模块都默认有一个module对象
//module对象中有一个成员exports
//对外导出成员，将成员挂载到module.exports中

// var module = {
//   exports: {
//     foo: 'bar',
//     add: function
//   }
// }

//为了简化，还有一句代码
//exports是module.exports的引用
// var exports = module.exports
console.log(exports === module.exports)

// module.exports.foo = 'bar'
// exports.foo = 'bar'
// exports = {}//重新赋值，指向另一个对象了
// exports.a = 123

// module.exports.add = function (x,y) {
//   return x + y
// }

//给exports和module.exports重新赋值都会导致指向断开
module.exports = {
  foo: 'bar'
}
exports = module.exports
exports.foo = 'hello'
//这里导出的是对象foo：hello


//导出多个：exports.xxx = xxx
//导出单个：module.exports = xxx

//谁来require，谁就得到module.exports
//代码最后默认有一句 return module.exports